// 导入express
const express = require("express");

// 创建应用对象
const app = express();

// 声明中间件   让静态资源只能在127.0.0.1访问
app.use((req, res, next) => {
  // 检测请求头中的 referer 是否为 127.0.0.1
  // 获取 referer
  let referer = req.get("referer");
  console.log(referer); //http://127.0.0.1:3000/
  if (referer) { // 在第一次发请求访问 index.html 时无 referer
    // 实例化 
    let url = new URL(referer);
    // 获取 hostname
    let hostname = url.hostname;
    console.log(hostname);
    // 判断
    if (hostname !== "127.0.0.1") {
      // 响应404
      res.status(404).send("<h1>404 Not Found </h1>");
      return;
    }
  }
  next(); // 继续执行后续中间件
});

// 静态资源中间件设置
app.use(express.static(__dirname + "/public"));
//__dirname + "/public":静态资源文件夹目录
// 默认在根目录下打开 静态资源目录下的 index.html 文件

// 监听端口，启动服务
app.listen(3000, () => {
  console.log("服务启动成功,端口3000");
});
